package com.deyuanyun.pic.ctrl.excelImport;

import com.deyuanyun.pic.common.validator.annotations.DataValidate;
import com.deyuanyun.pic.ctrl.annotation.*;
import com.deyuanyun.pic.ctrl.util.AutoImportInterface;
import com.deyuanyun.pic.ctrl.validatefun.AutoDevice;
import com.deyuanyun.pic.ctrl.validatefun.DeviceValeRoomVali;
import com.deyuanyun.pic.ctrl.validatefun.EnumValidata;

import java.util.Date;

/**

说明:Z:\excel\阴保有效性\A2阴保电源检测记录表（导入、导出）.xls

**/
@DbTable(name="PIC_CTRL_EXINSP_CPPOWER",startRow=4,sumCell=22,excelName="阴保电源检测记录表.xls")
public class PicCtrlExinspCppowerExcel implements AutoImportInterface
{


      /**
      * 设备编号
      */
      @DeviceAnnotation(name="cppowerId")
      @Head( name="设备编号",row=2,cell=0)
      @DbFiled( name="CUSTOM_NUMBER" ,type="VARCHAR2")
      @DataValidate(notNull = true,myFunction = AutoDevice.class,myFunctionMessage = "设备不存在")
      private String customNumber;

      /**
      * 所属场站阀室
      */
      @Head( name="所属场站阀室",row=2,cell=1)
//      @DbFiled( name="AFFILIATIONSITEORVALVE" ,type="null")
      @DataValidate(notNull = true,myFunction = DeviceValeRoomVali.class,myFunctionMessage="场站阀室和设备不一致")
      private String pipeValveroomId;

      /**
      * 输出电压（V）
      */
      @Head( name="输出电压（V）",row=2,cell=2)
      @DbFiled( name="OUTPUT_VOLTAGE" ,type="NUMBER")
      @DataValidate(notNull = true)
      private String outputVoltage;

      /**
      * 输出电流（A）
      */
      @Head( name="输出电流（A）",row=2,cell=3)
      @DbFiled( name="OUTPUT_CURRENT" ,type="NUMBER")
      @DataValidate(notNull = true)
      private String outputCurrent;

      /**
      * 控制电位（mV）
      */
      @Head( name="控制电位（mV）",row=2,cell=4)
      @DbFiled( name="SETTING_POTENTIAL" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String settingPotential;

      /**
      * 通电点电位（mV）
      */
      @Head( name="通电点电位（mV）",row=2,cell=5)
      @DbFiled( name="METRICAL_POTENTIAL" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String metricalPotential;

      /**
      * 运行状态
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.EqptRunningStatedEnum.class,valMethod="getVal")
      @Head( name="运行状态",row=2,cell=6)
      @DbFiled( name="ACTIVE_STATED" ,type="VARCHAR2")
      @DataValidate(notNull = true,myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String activeStated;

      /**
      * 开始
      */
      @Head( name="开始",row=3,cell=7)
      @DbFiled( name="DOWN_BEGIN_DATE" ,type="DATE",formate="yyyyMMddHHmm")
      @DataValidate(type = Date.class,datePattern = "yyyyMMddHHmm")
      private String begin;

      /**
      * 结束
      */
      @Head( name="结束",row=3,cell=8)
      @DbFiled( name="DOWN_END_DATE" ,type="DATE",formate="yyyyMMddHHmm")
      @DataValidate(type = Date.class,datePattern = "yyyyMMddHHmm")
      private String end;

      /**
      * 停机原因
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.DownReasonEnum.class,valMethod="getVal")
      @Head( name="停机原因",row=2,cell=9)
      @DbFiled( name="DOWN_REASON" ,type="VARCHAR2")
      @DataValidate(myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class,linkNotNull = "end,")
      private String downReason;

      /**
      * 接地和避雷器设施检查维护
      */
      @Head( name="接地和避雷器设施检查维护",row=2,cell=10)
      @DbFiled( name="GROUNDING" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String grounding;

      /**
      * 仪表校准
      */
      @Head( name="仪表校准",row=2,cell=11)
      @DbFiled( name="INSTRUMENT_CALIBRATION" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String instrumentCalibration;

      /**
      * 电缆及连接端子检测维护
      */
      @Head( name="电缆及连接端子检测维护",row=2,cell=12)
      @DbFiled( name="CONNECTION_CHECK" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String connectionCheck;

      /**
      * 年检修记录
      */
      @Head( name="年检修记录",row=2,cell=13)
      @DbFiled( name="ANNUAL_REPAIR_RECORD" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String annualRepairRecord;

      /**
      * 异常记录
      */
      @Head( name="异常记录",row=2,cell=14)
      @DbFiled( name="FAULT_RECORD" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String faultRecord;

      /**
      * 是否有异常
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.AbnormalEnum.class,valMethod="getVal")
      @Head( name="是否有异常",row=2,cell=15)
      @DbFiled( name="ABNORMAL" ,type="VARCHAR2")
      @DataValidate(myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String abnormal;

      /**
      * 处理措施
      */
      @Head( name="处理措施",row=2,cell=16)
//      @DbFiled( name="TREATMENTMEASURES" ,type="null")
//      @DataValidate()
      @MappingTable(clas=PicCtrlExinspFault.class,autoFiled="treatmentMeasures",fkey="exinspRecodeId")
      private String treatmentmeasures;

      /**
      * 检测日期
      */
      @Head( name="检测日期",row=2,cell=17)
      @DbFiled( name="DETECTIONG_DETE" ,type="DATE")
      @DataValidate(type = Date.class,notNull = true)
      private String detectiongDete;

      /**
      * 记录人
      */
      @Head( name="记录人",row=2,cell=18)
      @DbFiled( name="RECORDER" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      @AutoLoginUser
      private String recorder;

      /**
      * 记录时间
      */
      @Head( name="记录时间",row=2,cell=19)
      @DbFiled( name="RECORD_TIME" ,type="DATE")
      @DataValidate(type = Date.class)
      @AutoDate
      private String recordTime;

      /**
      * 备注
      */
      @Head( name="备注",row=2,cell=20)
      @DbFiled( name="REMARKS" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String remarks;

      /**
      * id
      */
      @DbFiled( name="ID_")
      @AutoId
      private String id;


    @DbFiled( name="CPPOWER_ID" ,type="VARCHAR2")
    private String cppowerId;

    @AutoExinspTask
    @DbFiled( name="EXINSP_TASK_ID",type="VARCHAR2")
    private String exinspTaskId;

    @DbFiled( name="DATA_STATED",type="VARCHAR2")
    private String dataStated;

    @DbFiled( name="IS_NEWEST",type="NUMBER")
    private String isNewset;

    public String getIsNewset() {
        return isNewset;
    }

    public void setIsNewset(String isNewset) {
        this.isNewset = isNewset;
    }

    public String getDataStated() {
        return dataStated;
    }

    public void setDataStated(String dataStated) {
        this.dataStated = dataStated;
    }

    public String getExinspTaskId() {
        return exinspTaskId;
    }

    public void setExinspTaskId(String exinspTaskId) {
        this.exinspTaskId = exinspTaskId;
    }


    public String getCustomNumber()
    {

        return  this.customNumber;
    }
    public void setCustomNumber(String customNumber)
    {

      this.customNumber=customNumber;
    }

    public String getPipeValveroomId() {
        return pipeValveroomId;
    }

    public void setPipeValveroomId(String pipeValveroomId) {
        this.pipeValveroomId = pipeValveroomId;
    }

    //
//    public String getAffiliationsiteorvalve()
//    {
//
//        return  this.affiliationsiteorvalve;
//    }
//    public void setAffiliationsiteorvalve(String affiliationsiteorvalve)
//    {
//
//      this.affiliationsiteorvalve=affiliationsiteorvalve;
//    }


    public String getOutputVoltage()
    {

        return  this.outputVoltage;
    }
    public void setOutputVoltage(String outputVoltage)
    {

      this.outputVoltage=outputVoltage;
    }


    public String getOutputCurrent()
    {

        return  this.outputCurrent;
    }
    public void setOutputCurrent(String outputCurrent)
    {

      this.outputCurrent=outputCurrent;
    }


    public String getSettingPotential()
    {

        return  this.settingPotential;
    }
    public void setSettingPotential(String settingPotential)
    {

      this.settingPotential=settingPotential;
    }


    public String getMetricalPotential()
    {

        return  this.metricalPotential;
    }
    public void setMetricalPotential(String metricalPotential)
    {

      this.metricalPotential=metricalPotential;
    }


    public String getActiveStated()
    {

        return  this.activeStated;
    }
    public void setActiveStated(String activeStated)
    {

      this.activeStated=activeStated;
    }


    public String getBegin()
    {

        return  this.begin;
    }
    public void setBegin(String begin)
    {

      this.begin=begin;
    }


    public String getEnd()
    {

        return  this.end;
    }
    public void setEnd(String end)
    {

      this.end=end;
    }


    public String getDownReason()
    {

        return  this.downReason;
    }
    public void setDownReason(String downReason)
    {

      this.downReason=downReason;
    }


    public String getGrounding()
    {

        return  this.grounding;
    }
    public void setGrounding(String grounding)
    {

      this.grounding=grounding;
    }


    public String getInstrumentCalibration()
    {

        return  this.instrumentCalibration;
    }
    public void setInstrumentCalibration(String instrumentCalibration)
    {

      this.instrumentCalibration=instrumentCalibration;
    }


    public String getConnectionCheck()
    {

        return  this.connectionCheck;
    }
    public void setConnectionCheck(String connectionCheck)
    {

      this.connectionCheck=connectionCheck;
    }


    public String getAnnualRepairRecord()
    {

        return  this.annualRepairRecord;
    }
    public void setAnnualRepairRecord(String annualRepairRecord)
    {

      this.annualRepairRecord=annualRepairRecord;
    }


    public String getFaultRecord()
    {

        return  this.faultRecord;
    }
    public void setFaultRecord(String faultRecord)
    {

      this.faultRecord=faultRecord;
    }


    public String getAbnormal()
    {

        return  this.abnormal;
    }
    public void setAbnormal(String abnormal)
    {

      this.abnormal=abnormal;
    }


    public String getTreatmentmeasures()
    {

        return  this.treatmentmeasures;
    }
    public void setTreatmentmeasures(String treatmentmeasures)
    {

      this.treatmentmeasures=treatmentmeasures;
    }


    public String getDetectiongDete()
    {

        return  this.detectiongDete;
    }
    public void setDetectiongDete(String detectiongDete)
    {

      this.detectiongDete=detectiongDete;
    }


    public String getRecorder()
    {

        return  this.recorder;
    }
    public void setRecorder(String recorder)
    {

      this.recorder=recorder;
    }


    public String getRecordTime()
    {

        return  this.recordTime;
    }
    public void setRecordTime(String recordTime)
    {

      this.recordTime=recordTime;
    }


    public String getRemarks()
    {

        return  this.remarks;
    }
    public void setRemarks(String remarks)
    {

      this.remarks=remarks;
    }


    public String getId()
    {

        return  this.id;
    }
    public void setId(String id)
    {

      this.id=id;
    }


    public String getCppowerId() {
        return cppowerId;
    }

    public void setCppowerId(String cppowerId) {
        this.cppowerId = cppowerId;
    }
}